package Graficas_capas;

import java.awt.Point;

import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;

/**Panel que mantiene el suelo en movimiento constante permitiendo que simule que el tanque esta todo el tiempo
 * avanzando
 * 
 * @author Javier Graff
 * @author Eric Avondet
 * @author Rodrigo Herrera
 *
 */
public class grafico_piso implements Runnable
{
	
	private JPanel panelpisomovible;
	private JLabel labelimagen;
	private JLabel labelimagen2;
	protected boolean terminarHilo;
	
	public grafico_piso()
	{
		terminarHilo = false;
		panelpisomovible = new JPanel();
		panelpisomovible.setBounds(150, 0, 700, 540);
		panelpisomovible.setOpaque(false);
		panelpisomovible.setLayout(null);
		ImageIcon fondo = new ImageIcon(getClass().getClassLoader().getResource("Imagenes/pasto1.jpg"));
		
		labelimagen = new JLabel();
		labelimagen.setBounds(0,0,700,550);
		labelimagen.setIcon(fondo);
		
		labelimagen2 = new JLabel();
		labelimagen2.setBounds(0,-labelimagen.getHeight()+2,700,550);
		labelimagen2.setIcon(fondo);
		
		panelpisomovible.add(labelimagen);
		panelpisomovible.add(labelimagen2);
		
		
	}
	
	public JPanel getpanel()
	{
		return panelpisomovible;
	}
	
	public void terminarHilo() {

		terminarHilo = true;
	}

	@Override
	public void run() 
	{
		while (!terminarHilo)
		{
			moverpanel();
			
			try {
				
				Thread.sleep(35);
				
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
		
	}
	
	public void moverpanel()
	{
		if (labelimagen.getLocation().getY() > panelpisomovible.getHeight())
		{
			labelimagen.setLocation(labelimagen.getX(),labelimagen2.getY()-labelimagen.getHeight()+2);
		}
		if (labelimagen2.getLocation().getY() > panelpisomovible.getHeight())
		{
			labelimagen2.setLocation(labelimagen2.getX(),labelimagen.getY()-labelimagen2.getHeight()+2);
		}
		
		Point pos1 = labelimagen.getLocation();
		pos1.setLocation(pos1.getX(),pos1.getY()+1);
		labelimagen.setLocation(pos1);
		
		Point pos2 = labelimagen2.getLocation();
		pos2.setLocation(pos2.getX(),pos2.getY()+1);
		labelimagen2.setLocation(pos2);
		
		
	}

}
